#ifndef _POINT3_H_
#define _POINT3_H_

#include "Vector3.h"

class Point3
{
public:
	Point3(void);
	Point3(double x, double y, double z);
	Point3(Point3* p);
	~Point3(void);

	double distanceTo(Point3 p);
	double distanceToSquared(Point3 p);
	Point3* set(double x, double y, double z);
	Point3* set(Point3 p);

	static Point3* add(Point3 p, Vector3 v, Point3* dest);
	static Point3* sub(Point3 p, Vector3 v, Point3* dest);
	static Vector3* sub(Point3 p1, Point3 p2, Vector3* dest);
	static Point3* mid(Point3 p1, Point3 p2, Point3* dest);

	double		x;
	double		y;
	double		z;
};

#endif


